package net.siufung.web.aop.annotation;

import net.siufung.core.model.enums.MethodEventEnum;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自动日志注解
 * @author 陈建峰
 * @date 2022/10/3 11:53 下午
 * @since V1.0.0
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AutoLog {

    /**
     * 日志标题
     * @return 标题
     */
    String value() default "";

    /**
     * 日志描述
     * @return 描述
     */
    String description() default "";

    /**
     * 参数最大长度
     * @return 参数最大长度
     */
    int paramsMaxLength() default 500;

    /**
     * 方法类型
     * @return MethodEventEnum
     */
    MethodEventEnum methodEvent() default MethodEventEnum.NONE;
}
